﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Data;
using System.Data.SqlClient;

using Padelcenter.Common;

namespace Padelcenter.DataAccess
{
    #region " SELECT "
    #region " MetodoEnvio Select "
    public class MetodoEnvio_Select : DataAccessBase
    {
        public MetodoEnvio_Select() 
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoEnvio_SELECT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoEnvio_Select_Prm metodoEnvio_Select_Prm = new MetodoEnvio_Select_Prm(this.MetodoEnvio);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoEnvio_Select_Prm.Parameters);

            return ds;
        }

        private MetodoEnvio _metodoEnvio;

        public MetodoEnvio MetodoEnvio
        {
            get { return _metodoEnvio; }
            set { _metodoEnvio = value; }
        }
    }
    public class MetodoEnvio_Select_Prm
    {
        public MetodoEnvio_Select_Prm(MetodoEnvio metodoEnvio)
        {
            this.MetodoEnvio = metodoEnvio;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoEnvio"      , this.MetodoEnvio.IdMetodoEnvio),
                new SqlParameter( "@ConFiltroActivo"    , this.MetodoEnvio.ConFiltroActivo),
                new SqlParameter( "@Activo"             , this.MetodoEnvio.Activo)
            };

            this.Parameters = parameters;
        }

        private MetodoEnvio _metodoEnvio;
        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }

        public MetodoEnvio MetodoEnvio
        {
            get { return _metodoEnvio; }
            set { _metodoEnvio = value; }
        }
    }
    #endregion
    #region " MetodoEnvioDescripcion Select "
    public class MetodoEnvioDescripcion_Select : DataAccessBase
    {
        public MetodoEnvioDescripcion_Select()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoEnvioDescripcion_SELECT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoEnvioDescripcion_Select_Prm metodoEnvioDescripcion_Select_Prm = new MetodoEnvioDescripcion_Select_Prm(this.MetodoEnvioDescripcion);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoEnvioDescripcion_Select_Prm.Parameters);

            return ds;
        }

        private MetodoEnvioDescripcion _metodoEnvioDescripcion;

        public MetodoEnvioDescripcion MetodoEnvioDescripcion
        {
            get { return _metodoEnvioDescripcion; }
            set { _metodoEnvioDescripcion = value; }
        }
    }
    public class MetodoEnvioDescripcion_Select_Prm
    {
        public MetodoEnvioDescripcion_Select_Prm(MetodoEnvioDescripcion metodoEnvioDescripcion)
        {
            this.MetodoEnvioDescripcion = metodoEnvioDescripcion;

        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoEnvio"      , this.MetodoEnvioDescripcion.MetodoEnvio.IdMetodoEnvio),
                new SqlParameter( "@idIdioma"           , this.MetodoEnvioDescripcion.Idioma.IdIdioma)
            };

            this.Parameters = parameters;
        }

        private MetodoEnvioDescripcion _metodoEnvioDescripcion;
        
        public MetodoEnvioDescripcion MetodoEnvioDescripcion
        {
          get { return _metodoEnvioDescripcion; }
          set { _metodoEnvioDescripcion = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion

    #region " MetodoEnvioZona Select "
    public class MetodoEnvioZona_Select : DataAccessBase
    {
        public MetodoEnvioZona_Select()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoEnvioZona_SELECT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoEnvioZona_Select_Prm metodoEnvioZona_Select_Prm = new MetodoEnvioZona_Select_Prm(this.MetodoEnvioZona);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoEnvioZona_Select_Prm.Parameters);

            return ds;
        }

        private MetodoEnvioZona _metodoEnvioZona;

        public MetodoEnvioZona MetodoEnvioZona
        {
          get { return _metodoEnvioZona; }
          set { _metodoEnvioZona = value; }
        }

    }
    public class MetodoEnvioZona_Select_Prm
    {
        public MetodoEnvioZona_Select_Prm(MetodoEnvioZona metodoEnvioZona)
        { 
            this.MetodoEnvioZona = metodoEnvioZona;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoEnvio"      , this.MetodoEnvioZona.MetodoEnvio.IdMetodoEnvio),
                new SqlParameter( "@idZona"             , this.MetodoEnvioZona.Zona.IdZona),
                new SqlParameter( "@ConFiltroActivo"    , this.MetodoEnvioZona.ConFiltroActivo),
                new SqlParameter( "@Activo"             , this.MetodoEnvioZona.Activo)
            };

            this.Parameters = parameters;
        }

        private MetodoEnvioZona _metodoEnvioZona;

        public MetodoEnvioZona MetodoEnvioZona
        {
            get { return _metodoEnvioZona; }
            set { _metodoEnvioZona = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion

    #endregion

    #region " INSERT "
    #region " MetodoEnvio Insert "
    public class MetodoEnvio_Insert : DataAccessBase
    {
        public MetodoEnvio_Insert()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoEnvio_INSERT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoEnvio_Insert_Prm metodoEnvio_Insert_Prm = new MetodoEnvio_Insert_Prm(this.MetodoEnvio);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoEnvio_Insert_Prm.Parameters);

            return ds;
        }

        private MetodoEnvio _metodoEnvio;

        public MetodoEnvio MetodoEnvio
        {
            get { return _metodoEnvio; }
            set { _metodoEnvio = value; }
        }
    }
    public class MetodoEnvio_Insert_Prm
    {
        public MetodoEnvio_Insert_Prm(MetodoEnvio metodoEnvio)
        {
            this.MetodoEnvio = metodoEnvio;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@Descripcion"      , this.MetodoEnvio.Descripcion),
                new SqlParameter( "@Activo"             , this.MetodoEnvio.Activo)
            };

            this.Parameters = parameters;
        }

        private MetodoEnvio _metodoEnvio;
        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }

        public MetodoEnvio MetodoEnvio
        {
            get { return _metodoEnvio; }
            set { _metodoEnvio = value; }
        }
    }
    #endregion

    #region " MetodoEnvioDescripcion Insert "
    public class MetodoEnvioDescripcion_Insert : DataAccessBase
    {
        public MetodoEnvioDescripcion_Insert()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoEnvioDescripcion_INSERT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoEnvioDescripcion_Insert_Prm metodoEnvioDescripcion_Insert_Prm = new MetodoEnvioDescripcion_Insert_Prm(this.MetodoEnvioDescripcion);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoEnvioDescripcion_Insert_Prm.Parameters);

            return ds;
        }

        private MetodoEnvioDescripcion _metodoEnvioDescripcion;

        public MetodoEnvioDescripcion MetodoEnvioDescripcion
        {
            get { return _metodoEnvioDescripcion; }
            set { _metodoEnvioDescripcion = value; }
        }
    }
    public class MetodoEnvioDescripcion_Insert_Prm
    {
        public MetodoEnvioDescripcion_Insert_Prm(MetodoEnvioDescripcion metodoEnvioDescripcion)
        {
            this.MetodoEnvioDescripcion = metodoEnvioDescripcion;

        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoEnvio"      , this.MetodoEnvioDescripcion.MetodoEnvio.IdMetodoEnvio),
                new SqlParameter( "@idIdioma"           , this.MetodoEnvioDescripcion.Idioma.IdIdioma),
                new SqlParameter( "@Descripcion"        , this.MetodoEnvioDescripcion.Descripcion)
            };

            this.Parameters = parameters;
        }

        private MetodoEnvioDescripcion _metodoEnvioDescripcion;

        public MetodoEnvioDescripcion MetodoEnvioDescripcion
        {
            get { return _metodoEnvioDescripcion; }
            set { _metodoEnvioDescripcion = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion

    #region " MetodoEnvioZona Insert "
    public class MetodoEnvioZona_Insert : DataAccessBase
    {
        public MetodoEnvioZona_Insert()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoEnvioZona_INSERT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoEnvioZona_Insert_Prm metodoEnvioZona_Insert_Prm = new MetodoEnvioZona_Insert_Prm(this.MetodoEnvioZona);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoEnvioZona_Insert_Prm.Parameters);

            return ds;
        }

        private MetodoEnvioZona _metodoEnvioZona;

        public MetodoEnvioZona MetodoEnvioZona
        {
            get { return _metodoEnvioZona; }
            set { _metodoEnvioZona = value; }
        }

    }
    public class MetodoEnvioZona_Insert_Prm
    {
        public MetodoEnvioZona_Insert_Prm(MetodoEnvioZona metodoEnvioZona)
        {
            this.MetodoEnvioZona = metodoEnvioZona;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoEnvio"      , this.MetodoEnvioZona.MetodoEnvio.IdMetodoEnvio),
                new SqlParameter( "@idZona"             , this.MetodoEnvioZona.Zona.IdZona),
                new SqlParameter( "@Costo"              , this.MetodoEnvioZona.Costo),
                new SqlParameter( "@Activo"             , this.MetodoEnvioZona.Activo)
            };

            this.Parameters = parameters;
        }

        private MetodoEnvioZona _metodoEnvioZona;

        public MetodoEnvioZona MetodoEnvioZona
        {
            get { return _metodoEnvioZona; }
            set { _metodoEnvioZona = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion

    #endregion

    #region " UPDATE "
    #region " MetodoEnvio Update "
    public class MetodoEnvio_Update : DataAccessBase
    {
        public MetodoEnvio_Update()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoEnvio_UPDATE.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoEnvio_Update_Prm metodoEnvio_Update_Prm = new MetodoEnvio_Update_Prm(this.MetodoEnvio);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoEnvio_Update_Prm.Parameters);

            return ds;
        }

        private MetodoEnvio _metodoEnvio;

        public MetodoEnvio MetodoEnvio
        {
            get { return _metodoEnvio; }
            set { _metodoEnvio = value; }
        }
    }
    public class MetodoEnvio_Update_Prm
    {
        public MetodoEnvio_Update_Prm(MetodoEnvio metodoEnvio)
        {
            this.MetodoEnvio = metodoEnvio;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoEnvio"    , this.MetodoEnvio.IdMetodoEnvio),
                new SqlParameter( "@Descripcion"      , this.MetodoEnvio.Descripcion),
                new SqlParameter( "@Activo"           , this.MetodoEnvio.Activo)
            };

            this.Parameters = parameters;
        }

        private MetodoEnvio _metodoEnvio;
        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }

        public MetodoEnvio MetodoEnvio
        {
            get { return _metodoEnvio; }
            set { _metodoEnvio = value; }
        }
    }
    #endregion

    #region " MetodoEnvioDescripcion Update "
    public class MetodoEnvioDescripcion_Update : DataAccessBase
    {
        public MetodoEnvioDescripcion_Update()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoEnvioDescripcion_UPDATE.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoEnvioDescripcion_Update_Prm metodoEnvioDescripcion_Update_Prm = new MetodoEnvioDescripcion_Update_Prm(this.MetodoEnvioDescripcion);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoEnvioDescripcion_Update_Prm.Parameters);

            return ds;
        }

        private MetodoEnvioDescripcion _metodoEnvioDescripcion;

        public MetodoEnvioDescripcion MetodoEnvioDescripcion
        {
            get { return _metodoEnvioDescripcion; }
            set { _metodoEnvioDescripcion = value; }
        }
    }
    public class MetodoEnvioDescripcion_Update_Prm
    {
        public MetodoEnvioDescripcion_Update_Prm(MetodoEnvioDescripcion metodoEnvioDescripcion)
        {
            this.MetodoEnvioDescripcion = metodoEnvioDescripcion;

        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoEnvio"      , this.MetodoEnvioDescripcion.MetodoEnvio.IdMetodoEnvio),
                new SqlParameter( "@idIdioma"           , this.MetodoEnvioDescripcion.Idioma.IdIdioma),
                new SqlParameter( "@Descripcion"        , this.MetodoEnvioDescripcion.Descripcion)
            };

            this.Parameters = parameters;
        }

        private MetodoEnvioDescripcion _metodoEnvioDescripcion;

        public MetodoEnvioDescripcion MetodoEnvioDescripcion
        {
            get { return _metodoEnvioDescripcion; }
            set { _metodoEnvioDescripcion = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion

    #region " MetodoEnvioZona Update "
    public class MetodoEnvioZona_Update : DataAccessBase
    {
        public MetodoEnvioZona_Update()
        {
            base.StoredProcedureName = StoredProcedure.Name.MetodoEnvioZona_UPDATE.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            MetodoEnvioZona_Update_Prm metodoEnvioZona_Update_Prm = new MetodoEnvioZona_Update_Prm(this.MetodoEnvioZona);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, metodoEnvioZona_Update_Prm.Parameters);

            return ds;
        }

        private MetodoEnvioZona _metodoEnvioZona;

        public MetodoEnvioZona MetodoEnvioZona
        {
            get { return _metodoEnvioZona; }
            set { _metodoEnvioZona = value; }
        }

    }
    public class MetodoEnvioZona_Update_Prm
    {
        public MetodoEnvioZona_Update_Prm(MetodoEnvioZona metodoEnvioZona)
        {
            this.MetodoEnvioZona = metodoEnvioZona;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idMetodoEnvio"      , this.MetodoEnvioZona.MetodoEnvio.IdMetodoEnvio),
                new SqlParameter( "@idZona"             , this.MetodoEnvioZona.Zona.IdZona),
                new SqlParameter( "@Costo"              , this.MetodoEnvioZona.Costo),
                new SqlParameter( "@Activo"             , this.MetodoEnvioZona.Activo)
            };

            this.Parameters = parameters;
        }

        private MetodoEnvioZona _metodoEnvioZona;

        public MetodoEnvioZona MetodoEnvioZona
        {
            get { return _metodoEnvioZona; }
            set { _metodoEnvioZona = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion

    #endregion
}
